import xlsxwriter

wb = xlsxwriter.Workbook("../myFile/writeData.xlsx")  # 创建工作簿
#  ############################ 设置单元格属性:背景颜色/字体大小/字体颜色/加粗.... start ###################################

# 格式对照表官方文档: https://xlsxwriter.readthedocs.io/format.html
cell_format = wb.add_format({'bold': True})  # 格式对象

cell_format1 = wb.add_format()  # 格式对象
cell_format1.set_bold()  # 设置加粗
cell_format1.set_font_color("red")  # 文本颜色
cell_format1.set_font_size(14)
cell_format1.set_align("center")  # 对齐方式

cell_format2 = wb.add_format()  # 格式对象
cell_format2.set_bg_color("#808080")  # 背景颜色
#  ############################ 设置单元格属性:背景颜色/字体大小/字体颜色/加粗.... end   ###################################

sheet = wb.add_worksheet("newSheet")  # 创建sheet

# 写入
sheet.write(0, 0, "2020年度", cell_format)  # 写入单元格数据
sheet.merge_range(1, 0, 2, 2, "第一季度销售统计", cell_format1)  # 起始行,起始列,结束行索引,结束列索引(A2:C3)
sheet.write_row(3, 0, ["月份", "预期销售额", "实际的销售额"], cell_format2)

data = (["一月份", 500, 450], ["二月份", 600, 450], ["三月份", 700, 550])
for index, item in enumerate(data):
    sheet.write_row(index + 4, 0, item)

# 写入 excel 公式
sheet.write(7, 1, "=sum(B5:B7)")
sheet.write(7, 2, "=sum(C5:C7)")
sheet.write_url(9, 0, "http://www.baidu.com", string="更多数据")  # 插入超链接
sheet.insert_image(10, 0, "../myFile/test.bmp", {'x_scale': 0.2, 'y_scale': 0.2})  # 插入图片

#  ########### 写入图表 start  #####################################
chart = wb.add_chart({'type': 'column'})
chart.set_title({'name': '第一季度销售额统计'})
# 描述x y轴信息
chart.set_x_axis({'name': '月份'})
chart.set_y_axis({'name': '销售额'})
# 数据
chart.add_series({
    'name': '预期销售额',
    'categories': '=newSheet!$A$5:$A$7',
    'values': ['newSheet', 4, 1, 6, 1]
})
chart.add_series({
    'name': '实际销售额',
    'categories': '=newSheet!$A$5:$A$7',
    'values': ['newSheet', 4, 2, 6, 2],
    'data_labels': {'value': True}
})
sheet.insert_chart('A28', chart)
#  ########### 写入图表 end    #####################################
wb.close()